package org.beanutopia.reflect;

import org.beanutopia.exception.PropertyDefinitionException;
import com.google.common.base.Predicate;

import java.lang.reflect.Method;

/**
 * @author ymeymann
 * @since Nov 28, 2007 3:04:47 PM
 */
public interface AccessMethod<V> {

  AccessMethod<V> initialize() throws PropertyDefinitionException;
//  Method getCachedMethod(Class objectClass);
  Predicate<Object> supported();
  Method findMethod(Class<?> objectClass, Class<?> valueClass);

}
